
Object.defineProperty(exports, "__esModule", { value: true });

const {
  Decimal,
  objectEnumValues,
  makeStrictEnum,
  Public,
  getRuntime,
  skip
} = require('./runtime/index-browser.js')


const Prisma = {}

exports.Prisma = Prisma
exports.$Enums = {}

/**
 * Prisma Client JS version: 5.22.0
 * Query Engine version: 605197351a3c8bdd595af2d2a9bc3025bca48ea2
 */
Prisma.prismaVersion = {
  client: "5.22.0",
  engine: "605197351a3c8bdd595af2d2a9bc3025bca48ea2"
}

Prisma.PrismaClientKnownRequestError = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`PrismaClientKnownRequestError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)};
Prisma.PrismaClientUnknownRequestError = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`PrismaClientUnknownRequestError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.PrismaClientRustPanicError = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`PrismaClientRustPanicError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.PrismaClientInitializationError = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`PrismaClientInitializationError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.PrismaClientValidationError = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`PrismaClientValidationError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.NotFoundError = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`NotFoundError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.Decimal = Decimal

/**
 * Re-export of sql-template-tag
 */
Prisma.sql = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`sqltag is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.empty = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`empty is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.join = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`join is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.raw = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`raw is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.validator = Public.validator

/**
* Extensions
*/
Prisma.getExtensionContext = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`Extensions.getExtensionContext is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.defineExtension = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`Extensions.defineExtension is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}

/**
 * Shorthand utilities for JSON filtering
 */
Prisma.DbNull = objectEnumValues.instances.DbNull
Prisma.JsonNull = objectEnumValues.instances.JsonNull
Prisma.AnyNull = objectEnumValues.instances.AnyNull

Prisma.NullTypes = {
  DbNull: objectEnumValues.classes.DbNull,
  JsonNull: objectEnumValues.classes.JsonNull,
  AnyNull: objectEnumValues.classes.AnyNull
}



/**
 * Enums
 */

exports.Prisma.TransactionIsolationLevel = makeStrictEnum({
  ReadUncommitted: 'ReadUncommitted',
  ReadCommitted: 'ReadCommitted',
  RepeatableRead: 'RepeatableRead',
  Serializable: 'Serializable'
});

exports.Prisma.DeveloperScalarFieldEnum = {
  id: 'id',
  username: 'username',
  email: 'email',
  passwordHash: 'passwordHash',
  displayName: 'displayName',
  avatarUrl: 'avatarUrl',
  bio: 'bio',
  websiteUrl: 'websiteUrl',
  githubUrl: 'githubUrl',
  verified: 'verified',
  emailVerified: 'emailVerified',
  twoFactorEnabled: 'twoFactorEnabled',
  role: 'role',
  status: 'status',
  lastLoginAt: 'lastLoginAt',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
};

exports.Prisma.ApiKeyScalarFieldEnum = {
  id: 'id',
  developerId: 'developerId',
  name: 'name',
  keyPrefix: 'keyPrefix',
  keyHash: 'keyHash',
  permissions: 'permissions',
  rateLimitPerHour: 'rateLimitPerHour',
  lastUsedAt: 'lastUsedAt',
  lastUsedIp: 'lastUsedIp',
  expiresAt: 'expiresAt',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
};

exports.Prisma.PluginScalarFieldEnum = {
  id: 'id',
  name: 'name',
  displayName: 'displayName',
  description: 'description',
  category: 'category',
  developerId: 'developerId',
  repositoryUrl: 'repositoryUrl',
  homepageUrl: 'homepageUrl',
  documentationUrl: 'documentationUrl',
  license: 'license',
  keywords: 'keywords',
  tags: 'tags',
  status: 'status',
  featured: 'featured',
  verified: 'verified',
  totalDownloads: 'totalDownloads',
  ratingAverage: 'ratingAverage',
  ratingCount: 'ratingCount',
  lastVersion: 'lastVersion',
  lastUpdatedAt: 'lastUpdatedAt',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
};

exports.Prisma.PluginVersionScalarFieldEnum = {
  id: 'id',
  pluginId: 'pluginId',
  version: 'version',
  changelog: 'changelog',
  filePath: 'filePath',
  fileSize: 'fileSize',
  fileHash: 'fileHash',
  signature: 'signature',
  manifest: 'manifest',
  engines: 'engines',
  permissions: 'permissions',
  dependencies: 'dependencies',
  status: 'status',
  downloadCount: 'downloadCount',
  securityScanStatus: 'securityScanStatus',
  securityScanResult: 'securityScanResult',
  publishedAt: 'publishedAt',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
};

exports.Prisma.DownloadScalarFieldEnum = {
  id: 'id',
  pluginId: 'pluginId',
  versionId: 'versionId',
  clientIp: 'clientIp',
  userAgent: 'userAgent',
  country: 'country',
  region: 'region',
  clientVersion: 'clientVersion',
  downloadSource: 'downloadSource',
  downloadedAt: 'downloadedAt'
};

exports.Prisma.ReviewScalarFieldEnum = {
  id: 'id',
  pluginId: 'pluginId',
  version: 'version',
  rating: 'rating',
  title: 'title',
  comment: 'comment',
  reviewerName: 'reviewerName',
  reviewerEmail: 'reviewerEmail',
  reviewerIp: 'reviewerIp',
  helpfulCount: 'helpfulCount',
  reportedCount: 'reportedCount',
  status: 'status',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
};

exports.Prisma.CategoryScalarFieldEnum = {
  id: 'id',
  name: 'name',
  displayName: 'displayName',
  description: 'description',
  icon: 'icon',
  color: 'color',
  parentId: 'parentId',
  sortOrder: 'sortOrder',
  pluginCount: 'pluginCount',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
};

exports.Prisma.TagScalarFieldEnum = {
  id: 'id',
  name: 'name',
  displayName: 'displayName',
  description: 'description',
  color: 'color',
  usageCount: 'usageCount',
  createdAt: 'createdAt'
};

exports.Prisma.PluginTagScalarFieldEnum = {
  pluginId: 'pluginId',
  tagId: 'tagId',
  createdAt: 'createdAt'
};

exports.Prisma.SecurityScanScalarFieldEnum = {
  id: 'id',
  versionId: 'versionId',
  scanType: 'scanType',
  scannerVersion: 'scannerVersion',
  status: 'status',
  result: 'result',
  score: 'score',
  findings: 'findings',
  scanDuration: 'scanDuration',
  startedAt: 'startedAt',
  completedAt: 'completedAt',
  createdAt: 'createdAt'
};

exports.Prisma.SigningCertificateScalarFieldEnum = {
  id: 'id',
  keyId: 'keyId',
  issuer: 'issuer',
  subject: 'subject',
  publicKey: 'publicKey',
  privateKey: 'privateKey',
  algorithm: 'algorithm',
  keySize: 'keySize',
  fingerprint: 'fingerprint',
  status: 'status',
  validFrom: 'validFrom',
  validTo: 'validTo',
  revokedAt: 'revokedAt',
  revocationReason: 'revocationReason',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
};

exports.Prisma.SystemConfigScalarFieldEnum = {
  key: 'key',
  value: 'value',
  description: 'description',
  category: 'category',
  isPublic: 'isPublic',
  updatedBy: 'updatedBy',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
};

exports.Prisma.AuditLogScalarFieldEnum = {
  id: 'id',
  userId: 'userId',
  action: 'action',
  resourceType: 'resourceType',
  resourceId: 'resourceId',
  oldValues: 'oldValues',
  newValues: 'newValues',
  ipAddress: 'ipAddress',
  userAgent: 'userAgent',
  apiKeyId: 'apiKeyId',
  createdAt: 'createdAt'
};

exports.Prisma.SortOrder = {
  asc: 'asc',
  desc: 'desc'
};

exports.Prisma.JsonNullValueInput = {
  JsonNull: Prisma.JsonNull
};

exports.Prisma.NullableJsonNullValueInput = {
  DbNull: Prisma.DbNull,
  JsonNull: Prisma.JsonNull
};

exports.Prisma.QueryMode = {
  default: 'default',
  insensitive: 'insensitive'
};

exports.Prisma.NullsOrder = {
  first: 'first',
  last: 'last'
};

exports.Prisma.JsonNullValueFilter = {
  DbNull: Prisma.DbNull,
  JsonNull: Prisma.JsonNull,
  AnyNull: Prisma.AnyNull
};


exports.Prisma.ModelName = {
  Developer: 'Developer',
  ApiKey: 'ApiKey',
  Plugin: 'Plugin',
  PluginVersion: 'PluginVersion',
  Download: 'Download',
  Review: 'Review',
  Category: 'Category',
  Tag: 'Tag',
  PluginTag: 'PluginTag',
  SecurityScan: 'SecurityScan',
  SigningCertificate: 'SigningCertificate',
  SystemConfig: 'SystemConfig',
  AuditLog: 'AuditLog'
};

/**
 * This is a stub Prisma Client that will error at runtime if called.
 */
class PrismaClient {
  constructor() {
    return new Proxy(this, {
      get(target, prop) {
        let message
        const runtime = getRuntime()
        if (runtime.isEdge) {
          message = `PrismaClient is not configured to run in ${runtime.prettyName}. In order to run Prisma Client on edge runtime, either:
- Use Prisma Accelerate: https://pris.ly/d/accelerate
- Use Driver Adapters: https://pris.ly/d/driver-adapters
`;
        } else {
          message = 'PrismaClient is unable to run in this browser environment, or has been bundled for the browser (running in `' + runtime.prettyName + '`).'
        }
        
        message += `
If this is unexpected, please open an issue: https://pris.ly/prisma-prisma-bug-report`

        throw new Error(message)
      }
    })
  }
}

exports.PrismaClient = PrismaClient

Object.assign(exports, Prisma)
